

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HL1_S2S(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HL1_S2S.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HL1_S2S, self).__init__(name='HL1_S2S', num_nodes=7, edges=[])
        
        # Add the edges
        self.add_edges([(2, 0), (0, 4), (1, 3), (3, 5), (4, 6), (6, 5)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """L1_S2S"""
        self["GUID__"] = UUID('2b5b1aeb-f3eb-4693-a085-669135d6945f')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """apply_contains"""
        self.vs[0]["GUID__"] = UUID('a36889f2-b16e-460b-892e-81d22ec6ad93')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('a4f2d1da-8575-4807-9daf-4ec99a0fbb07')
        self.vs[2]["mm__"] = """ApplyModel"""
        self.vs[2]["GUID__"] = UUID('35ad222d-af9f-48c1-9163-41f61d30a15e')
        self.vs[3]["mm__"] = """match_contains"""
        self.vs[3]["GUID__"] = UUID('7ccabd4c-336c-4809-8646-2a0ff846995a')
        self.vs[4]["mm__"] = """Station_T"""
        self.vs[4]["name"] = """s"""
        self.vs[4]["GUID__"] = UUID('70bff223-8bd6-4b30-9b23-b481546f4172')
        self.vs[5]["mm__"] = """Station_S"""
        self.vs[5]["name"] = """s"""
        self.vs[5]["GUID__"] = UUID('ea4fb509-4a9a-44d9-8f41-19c209cda844')
        self.vs[6]["mm__"] = """backward_link"""
        self.vs[6]["GUID__"] = UUID('32b37c05-691d-433d-a3ed-877570c88ea9')

